package com.xsy.carRental.utils;

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class DateUtils {
    /**
     * 计算两个日期之间的天数差（包含非空校验和日期顺序校验）
     * @param startDate 开始日期（不可为空）
     * @param endDate   结束日期（不可为空）
     * @return 天数差（正数）
     * @throws IllegalArgumentException 如果日期为空或结束日期早于开始日期
     */
    public static long calculateDaysBetween(LocalDate startDate, LocalDate endDate) {
        if (startDate == null || endDate == null) {
            throw new IllegalArgumentException("日期不能为空");
        }

        long days = ChronoUnit.DAYS.between(startDate, endDate);
        if (days < 0) {
            throw new IllegalArgumentException("结束日期不能早于开始日期");
        }

        return days;
    }
}